The present invention relates generally to the field of microprocessor architecture, and more specifically to optimizing instructions that facilitate interleaving of data streams.
Open Systems Interconnection (OSI) is a standard description or xe2x80x9creference modelxe2x80x9d for how messages should be transmitted between any two points in a telecommunication network. The purpose of OSI is to guide product implementors so that their products will consistently work with other products. The reference model defines seven layers of functions that take place at each end of communication. The first layer (also referred to as the physical layer) conveys the bit stream through the network at the electrical and mechanical levels. The physical layer provides the hardware means of sending and receiving data on a carrier. The physical layer is defined by various specifications. For instance, the IEEE 802.11a standard defines the physical layer for wireless LAN communications, Bluetooth(trademark) defines the physical layer for communications involving mobile phones, computers, and personal digital assistants, etc.
A number of current physical layer algorithms involves bit manipulation of data streams. For instance, the xe2x80x9cConvolutional Encoderxe2x80x9d algorithm used in the IEEE 802.11a standard generates two streams of encoded bits which are then interleaved into a single stream of data using the xe2x80x9cInterleaverxe2x80x9d algorithm. Naive software implementation of the xe2x80x9cInterleaverxe2x80x9d algorithm would result in an inefficient and time-consuming code. Thus, a mechanism for optimizing existing physical layer algorithms is needed.